#ifndef _SCHM_CFG_H
#define _SCHM_CFG_H
/*======================== INCLUDES ===============================*/
/* Scheduler types */
#include "os_types.h"
#include "stdint.h"
/*========================  DEFINES ===============================*/
/* define for the number of task that will be used*/
#define MAX_TIME_TASKS (uint8_t)0x06

#define TASK_1MS_OFFSET (uint32_t)0x0001
#define TASK_1MS_MASK   (uint32_t)0x0001

#define TASK_4MS_OFFSET (uint32_t)0x0006
#define TASK_4MS_MASK   (uint32_t)0x0007

#define TASK_8MS_OFFSET (uint32_t)0x000C
#define TASK_8MS_MASK   (uint32_t)0x000F

#define TASK_16MS_OFFSET (uint32_t)0x001A
#define TASK_16MS_MASK   (uint32_t)0x001F

#define TASK_32MS_OFFSET (uint32_t)0x0038
#define TASK_32MS_MASK   (uint32_t)0x003F

#define TASK_64MS_OFFSET (uint16_t)0x0074
#define TASK_64MS_MASK   (uint16_t)0x007F
/*======================== TYPEDEFS ===============================*/
typedef struct{ /*Configurations for the control of a task */
	OS_TaskType Task_ID;
	OS_TaskPriority Priority;
	OS_TaskOffsetType Offset;
	OS_TaskMaskType	Mask;
	OS_TaskCallbackType Callback;
	OS_StackInfoType StackSize;
	OS_TaskDeadlineType RelativeDeadline;
}OS_TaskConfigType;

/*======================== EXTERN  ===============================*/
extern const OS_TaskConfigType  OS_TaskConfig[MAX_TIME_TASKS];

/*======================= FUNCTIONS ===============================*/
#endif /*_SCHM_CFG_H*/